package com.zyk.leetcode;

/**
 * @author zhangsan
 * @date 2021/4/9 17:40
 */
public class M0502 {

    public static String printBin(double num) {
        StringBuilder ans = new StringBuilder("0.");
        while (num != 0) {
            num *= 2;
            if (num >= 1) { //乘2后num>=1,说明此时整数部分为1，取完该整数部分1后，num接着利用的还是其小数部分，所以要减掉整数部分（即1）
                ans.append("1");
                num -= 1;
            } else { //小于1说明整数部分为0，取该整数部分0
                ans.append("0");
            }
            if (ans.length() > 32) return "ERROR";
        }
        return ans.toString();
    }


    // for test
    public static void main(String[] args) {
        System.out.println(printBin(0.625));
    }

}
